﻿package fr.babos.core.mvc 
{
	import fr.babos.core.bootstrap.IBootstrap;
	import fr.babos.core.dependences.IInjectable;
	import fr.babos.core.masters.IDisplayObject;
	import fr.babos.core.roles.IDisposable;
	import fr.babos.core.roles.IEngine;
	
	/**
	 * L'interface de base des vues
	 * @author ZoulouX, Pascal
	 */
	public interface IView extends IDisplayObject, IEngine, IDisposable, IInjectable
	{
		/**
		 * Le controlleur associé
		 */
		function get controller ():IController;
		function set controller (value:IController):void;
		
		/**
		 * Une référence vers le bootstrap qui a instancié cette vue
		 */
		function get bootstrap ():IBootstrap;
		function set bootstrap (value:IBootstrap):void;
	}
}